#ifndef SERIALPORT_HPP
#define SERIALPORT_HPP

/* RTOS  */
#include "FreeRTOS.h"
#include "semphr.h"
#include "queue.h"

class SerialPort{
public:
    SerialPort(unsigned char serial_port_number);
    virtual bool init(void) = 0;
    virtual int send(void * data, int length) = 0;
    virtual int receive(void * data) = 0;
    static SerialPort * getInstance(unsigned char serial_port_number);
    
protected:
    unsigned char port_number;
};



#endif
